iT邦幫忙

2024 iThome 鐵人賽

DAY 19
0
Software Development

我命由我不由語言 java爬蟲挑戰系列 第 19

java爬蟲挑戰 Day 19 - Discord Bot !help 指令規劃

  • 分享至 

  • xImage
  •  

今天我們將詳細規劃 Discord Bot 中的 !help 指令,為使用者提供一個清晰易懂的指令集,讓使用者能夠根據需求訂閱或管理他們的租屋資訊推播服務。

help 指令集

  • !help: 顯示所有可用指令的詳細說明。
  • !sub: 訂閱租屋資訊推播,當新的符合條件的租屋資訊出現時,Bot 會通知使用者。範例: !sub
  • !unsub: 解除訂閱租屋資訊推播,使用者將不再收到新的租屋資訊推播。範例: !unsub
  • !reset: 清除使用者目前設定的所有搜尋條件。範例: !reset
  • !info: 顯示使用者目前設定的條件,包括訂閱的房型、價格範圍、地區等。範例: !info
  • !sp_room : 指定房型條件,Bot 會根據設定的房型來篩選租屋資訊。可選項: 不限, 整層住家, 獨立套房, - 分租套房, 雅房, 車位, 其他。範例: !sp_room 整層住家 獨立套房
  • !sp_price : 指定價格區間,格式為 最低價格~最高價格,Bot 會根據設定的價格範圍來篩選租屋資訊。範例: !sp_price 10000~20000
  • !sp_address : 指定搜尋地區或地址,Bot 會根據設定的地區來篩選租屋資訊。可選項: 大安區, 內湖區, 士林區, - 文山區, 北投區, 中山區, 信義區, 松山區, 萬華區, 中正區, 大同區, 南港區,也可自行輸入地址,但是萬一房東沒填會導致直接找不到,不建議。範例: !sp_address 內湖區 士林區
  • !sp_floor : 指定樓層,Bot 會根據設定的樓層來篩選租屋資訊。範例: !sp_floor 4
  • !sp_item : 指定房屋設備要求,Bot 會根據設定的設備來篩選租屋資訊。可選項: 冰箱, 洗衣機, 電視, 冷氣, 熱水器, 床, 衣櫃, 第四台, 網路, 天然瓦斯, 沙發, 桌子, 陽台, 電梯, 車位。範例: !sp_item 冰箱 洗衣機

介面規劃

DiscordBotCommandService

package tw.grass.rental_crawler.service;

public interface DiscordBotCommandService {

    /*
     * 說明指令: ex: !help
     */
    String helpCommand();

    /*
     * 訂閱指令,建議使用者設定好後再訂閱: ex: !sub
     */
    String subscribeCommand(String userID, String channel);

    /*
     * 解除訂閱指令: ex: !unsub
     */

    String unsubscribeCommand(String userID);

    /*
     * 清楚使用者定義的條件: ex: !reset
     */
    String resetCommand(String userID);

    /*
     * 用戶資訊顯示: ex: !info
     */
    String showInfoCommand(String userID);

    /*
     * 指定房型,可指定多個,使用空白分隔,新的指令覆蓋舊的 ex: !sp_room 整層住家 獨立套房
     * 可輸入選項:不限,整層住家,獨立套房,分租套房,雅房,車位,其他
     */
    String specifyRoomTypeCommand(String userID, String inputSting);

    /*
     * 指定價格區間,新的指令覆蓋舊的 ex: !sp_price 10000~20000
     * 說明10000至20000 含10000及20000
     */
    String specifyPriceCommand(String userID, String inputSting);

    /*
     * 指定地址,可指定多個,使用空白分隔,新的指令覆蓋舊的  ex: !sp_Address 內湖區 士林區
     * 大安區,內湖區,士林區,文山區,北投區,中山區,信義區,松山區,萬華區,中正區,大同區,南港區
     * 說明:10000至20000 含10000及20000
     */
    String specifyAddressCommand(String userID, String inputSting);

    /*
     * 指定樓層,新的指令覆蓋舊的  ex: !sp_floor 4
     * 說明:4樓
     */
    String specifyFloorCommand(String userID, String inputSting);
    /*
     * 指定設備,新的指令覆蓋舊的,可指定多個,使用空白分隔 ex: !sp_item 冰箱 洗衣機
     * 說明:需含冰箱及洗衣機
     * 可輸入選項:冰箱,洗衣機,電視,冷氣,熱水器,床,衣櫃,第四台,網路,天然瓦斯,沙發,桌子,陽台,電梯,車位
     */
    String specifyItemCommand(String userID, String inputSting);

}

git現狀

https://ithelp.ithome.com.tw/upload/images/20240905/201686355MtHbCDbLi.png

小結

這套 !help 指令集涵蓋了我們 Bot 的核心功能,讓使用者可以輕鬆管理租屋資訊推播服務。從基本的訂閱、解除訂閱到設定詳細的搜尋條件,這些指令都旨在提升使用者體驗,讓租屋資訊推播更加精準和個性化。

接下來,我們將會開始實做這些指令。


上一篇
java爬蟲挑戰 Day 18 - Discord Bot增加歡迎詞 & 轉Spring Bean
下一篇
java爬蟲挑戰 Day 20 - 使用EmbedBuilder呈現!help指令
系列文
我命由我不由語言 java爬蟲挑戰30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言